import { baseRequest } from '@/utils/request'

const request = (url, ...arg) => baseRequest(`/biz/contract/${url}`, ...arg)
/**
 * 合同管理
 */
export default {
	// 获取角色权限人员选择器
	authUserSelector(data) {
		return request('getBizUserContractList', data, 'get')
	},

	// 新增合同
	addContract(data) {
		return request('save', data, 'post')
	},
	// 获取合同列表
	getContractList(data) {
		return request('list', data, 'get')
	},
	// 获取合同详情
	getContractDetail(data) {
		return request('getById', data, 'get')
	},
	// 获取历史合同详情
	getHistoryContractDetail(data) {
		return request('getHistoryById', data, 'get')
	},
	// 撤回合同
	recallContract(data) {
		return request('recallContract', data, 'get')
	},
	// 下载合同
	downContract(data) {
		return request('downContract', data, 'get')
	},
	// 上传凭证
	uploadVoucher(data) {
		return request('saveVoucher', data, 'post')
	},
	// 上传合同及凭证
	uploadContractVoucher(data) {
		return request('saveContractVoucher', data, 'post')
	},
	// 获取乙方信息列表
	getContractPartbList(data) {
		return request('getContractPartbList', data, 'post')
	},
	// 根据业务类型获取合同列表
	getBusinessTemplateList(data) {
		return request('getBusinessTemplateList', data, 'get')
	},
	// 获取甲方列表
	getFirstPartyList(data) {
		return request('getContractFirstPartyList', data, 'post')
	},
	// 发起合同
	sendUpContract(data) {
		return request('approveContract', data, 'post')
	},
	// 业务审批
	approvalBusiness(data) {
		return request('saveApproval', data, 'post')
	},
	// 财务审批
	approval(data) {
		return request('saveFinancialApproval', data, 'post')
	},
	// 重新支付
	payUrl(data) {
		return request('getPayUrl', data, 'post')
	},
	// 支付变更
	payChange(data) {
		return request('updateSignPayment', data, 'post')
	},
	// 删除合同
	deleteContract(data) {
		return request('deletContact', data, 'post')
	},
	// 作废合同
	cancelContract(data) {
		return request('cancelContact', data, 'post')
	},

	// 导出合同
	exportList(data) {
		return request('exportHistoryContract', data, 'get', {
			responseType: 'blob'
		})
	},

	// 获取签约人列表
	signUserList(data) {
		return request('getByPartyPersonList', data, 'get')
	},

	// 获取服务项目选择后相关信息
	getServiceProjectMoreInfo(data) {
		return request('getExistSatrtTime', data, 'get')
	},

	// 根据用户编码获取内部编码
	getInnerCode(data) {
		return request('getCustomerInsideCode', data, 'get')
	},

	// 获取电子合同链接
	getElectronContractUrl(data) {
		return request('getSignUrl', data, 'get')
	}
}
